package com.xuecheng.api.content.model;

import com.xuecheng.api.content.model.dto.CourseBaseDTO;
import com.xuecheng.api.content.model.qo.QueryCourseBaseModel;
import com.xuecheng.api.content.model.vo.CourseBaseVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api(value = "内容管理api",description = "内容信息管理api接口",tags = "内容信息管理api接口")
public interface CourseBaseApi {
    /**
     * 前端访问后端携带的两大参数
     * PageRequestParams params  没有在这里定义是因为xc-api 的pom中依赖了xc-common  该类中包含要查寻得页数和每页显示的条数
     * QueryCourseBaseModel model  该类中属性是课程名称以及课程的审核状态
     * */
    @ApiOperation("课程内容管理分页查询")
    PageVO queryCourseBaseList(PageRequestParams params, QueryCourseBaseModel model);
    @ApiOperation("课程基本信息新增")
    CourseBaseDTO creatCourseBase(CourseBaseVO courseBaseVO);
    @ApiOperation("课程信息修改根据ID查询")
    CourseBaseDTO getById(Long courseBaseId);
    @ApiOperation("修改课程基本信息")
    CourseBaseDTO modifyCourseResult(CourseBaseVO courseBaseVO);

    @ApiOperation("根据Id删除课程信息")
    @ApiImplicitParam(name = "courseBaseId", value = "课程id值", required = true, paramType = "path")
    void removeCourseBase(Long courseBaseId);
    @ApiOperation("对课程进行提交")
    void submitCourseBase(Long courseBaseId);

}
